'''
浅拷贝
    拷贝本身及本身所在层级的引用，修改拷贝对象会对原对象中的引用对象造成影响
深拷贝
    拷贝本身及递归拷贝所有子级元素，拷贝后修改不会对被拷贝的内容造成影响
'''
import copy


def test_copy():
    a = [10, 20, [5, 6]]
    b = copy.copy(a)

    print('a', a)
    print('b', b)
    b.append(30)
    b[2].append(7)
    print('浅拷贝后......')
    print('a', a)
    print('b', b)


def test_deep_copy():
    a = [10, 20, [5, 6]]
    b = copy.deepcopy(a)

    print('a', a)
    print('b', b)
    b.append(30)
    b[2].append(7)
    print('深拷贝后......')
    print('a', a)
    print('b', b)


test_copy()
print('*'*20)
test_deep_copy()
